package com.nb.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import com.mybatisflex.annotation.Column;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 案件表实体类
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table(value = "legal_case",dataSource = "primaryDS")
public class LegalCase {

    /**
     * 案件ID
     */
    @Id(keyType = KeyType.Auto)
    private Long id;

    /**
     * 案件编号
     */
    @Column(value = "case_no")
    private String caseNo;

    /**
     * 申请人ID
     */
    @Column(value = "user_id")
    private Long userId;

    /**
     * 承办律师ID
     */
    @Column(value = "lawyer_id")
    private Long lawyerId;

    /**
     * 案件标题
     */
    @Column(value = "title")
    private String title;

    /**
     * 案件类型
     */
    @Column(value = "type")
    private String type;

    /**
     * 案情描述
     */
    @Column(value = "description")
    private String description;

    /**
     * 案件状态
     */
    @Column(value = "status")
    private String status;

    /**
     * 申请时间
     */
    @Column(value = "apply_time")
    private LocalDateTime applyTime;

    /**
     * 分配时间
     */
    @Column(value = "assign_time")
    private LocalDateTime assignTime;

    /**
     * 律师受理时间
     */
    @Column(value = "accept_time")
    private LocalDateTime acceptTime;

    /**
     * 完成时间
     */
    @Column(value = "complete_time")
    private LocalDateTime completeTime;

    /**
     * 关闭原因
     */
    @Column(value = "close_reason")
    private String closeReason;

}

